[C]大家帮我看看这个结果为什么是2 0 1

来源:百度知道 编辑:UC知道 时间:2024/07/07 13:07:06
int a=1
printf("%d,%d,%d\n",a+2,a-=1,a++);

a+2应该是3吧?
反正我改成printf("%d\n",a+2);
这样就是3。。。

不解

我在我机器上的运行结果就是3 1 1
你的原程序,一点都没变
你的那个结果是系统的原因,系统从后面往前面执行,a-=1之后,a就等于0了,当执行到a+2的时候自然是2了,你可以换一下它们的顺序输出.你就会明白了.
你可以在下面在加上printf("%d\n",a); 看看对你理解有没有帮助.